const arr = [1,2,3].map((item,index)=>{
  return {
    item,
  }
})

function selfMap (fn){
  // 1. 执行的次数 数组的长度次
  // 2. 返回值是一个新的数组 组成fn的返回结果
  // this : 函数 谁调用 this就指向谁
  const result = []
  for(let i = 0; i < this.length; i++){
    result.push(fn(this[i],i))
  }
  return result;
}

Array.prototype.selfMap = selfMap

const arrSelf = [4,5,6].selfMap((item,index)=>{
  return {
    item,
  }
})

// filter 过滤
// flat 扁平化
// some 是否有某个元素
// every 是否全部元素
// find 找到第一个符合条件的元素
// findIndex 找到第一个符合条件的元素的索引


console.log(arrSelf)